Advances in fiber technology have made communications bandwidth significantly more affordable. The Internet phenomenon spurred the installation of high speed networking adapters to computers and the installation of high bandwidth transcontinental and international communication links. Because the Internet is a public access network, it has brought together computing service providers and computing service consumers in an unprecedented manner. Web based e-mail service, like those offered by AOL, Yahoo and Microsoft, is an example of how mail-server software is offered as a service. E-mail services are used from around the world. E-mail service deals with both reads and writes and transient storage. Recently, storage service providers have emerged who provide permanent storage and its management as a service. However, heretofore, databases have not been offered as a service to a plurality of users.
The problem with utilizing the public network to handle a database is the administration costs. That is, as is known, the code to produce the database is relatively easy to implement, as opposed to the amount of service time required when a problem occurs in the code. It is well known that for large blocks of code it is virtually and practically impossible to ensure there are no bugs therein. Therefore, it is very important for a database to have an administrator who manages resource allocations and failure situations. The administrator needs to be a database specialist who is capable of providing instant advice or correcting the code that is a problem. In addition, there are many versions of the database that may be used; for example, it is possible that a particular database needs to be supported by LINUX, by the Windows environment, by the Macintosh environment, and each of those versions would have problems that are unique to it. In addition, even within a particular type of code, such as the Windows operating environment, there may be different versions of that have different features that need to be debugged or the like. As a consequence, the critical cost in database management is the staff and the cost of the human beings associated with servicing the software. It is well known that there is a scarcity of skilled administrators and so it is also very difficult to find or pay for the cost of such administrators. Accordingly, given the present environment, it is not possible to provide a database that could be shared across multiple users without an extreme expense in human administration. As above mentioned, the administrator who would administer a database that would cover all versions and different types of operating systems would add a significant expense and would be difficult to retain in this type of environment.
One realizes that, as before mentioned, when developing database code a small percentage are working on the code, while a much larger percentage are providing service for particular customers. So, for example, if in a particular customer's installation, where a database is running in a Windows environment, but a certain version of Windows, say Windows 6.8 that includes patches particular to that database, and it is running on a particular kind of processor, then it requires a specialized administrator with the expertise to service such a database.
The problem has been identified by others. Others are automating the installation, administration and management tasks. This approach partially solves the problem since no one has found a totally automated solution. Because administration and management tasks are different in various application environments, it may not ever be possible to fully automate the tasks.
What is desired, therefore, is a system that would allow a database to be utilized across multiple environments without requiring the high administration expense. This system should be easy to implement, should be cost effective, and should not significantly affect the overall costs of such a database. The present invention addresses such a need.